Program mouhhxx;

uses crt,os,mas;

const { Declaracion de constantes }
saludo = 'hola';
num_ocho= 8;

type
numerito = integer;
palabra = string[20];
semana = (jueves,viernes,sabado,domingo);
hora = 0..23;
tipo_usr = record
	nombre : Tnombre;
	apellido : string;
	edad : byte;
end;

Tnombre = record
	primero: string;
	segundo: string;
end;

var

usuario : tipo_usr;
chr : char;
int,int1,int2 : integer;
bit : byte;
str : string;
bool: boolean;
arrayx : array[1..10,hora] of array[2..20]  of array[3..30] of string;
arrayz : array[1..10,2..20,3..30] of byte;

function Doble(a,b : integer):integer;
const
    con1 = 8;
    con2 = 12;
var
	variable: integer;

begin
	variable := con1;
	doble := a + b
end;

procedure Escribe(frase,frase2:string;a:integer);
(* declaracion de un procedure *) {Asi se comentan los comentarios}
var
    va : integer;
    vb : integer;
procedure Escribe2(a,b,c:integer);
begin
    int:= ((a + b * c) + 4) * b
end;

begin
	a := - 4;
	frase := 'Hola'

end;

begin
    int1:= doble(1, 2 * 1 + 3 + int);
    readln(str);

    usuario.nombre := 'carlos';
    arrayz[1] := 8 *  -2;

    int := - doble(int,int) + int;
    int := 3 + 4 * 3;
    int := 3 * 4 + 7;
    int := 5 + 6;

    str := 'Antes de entrar al if';
    str := 'Antes de entrar al for';

    for int := 2 to 9 do
    begin
        str := 'asignacion dentro de for';


        for int2 := 1 to 10 do
            begin
                str := 'asignacion dentro de for interno';
                str := 'Ver que dado que va end end; el de el for interno no puede llevar;'
            end;

	for int2 := 1 to 10 do
	    begin
		  str := 'prueba2'
	    end;

        str := 'Antes de entrar al for interno'
    end;

    str := 'Antes de entrar al while';
    while (int = 2) do
    begin
        int := 8 + 9;
        str := 'asignacion dentro de while'
    end;


    str := 'Antes de entrar al repeat';

    repeat
        str := 'asignacion dentro de repeat';
        if ((int1 < int) or ('hola' = saludo)) then
        begin
             if true then
            	int2:= 5
        end;
        bit := 1

    until true;

    str := 'Antes de entrar al case';

    case chr of
    	'h' : str := 'asignacion en case hola';
    	'b' : str := 'asignacion del buenas!';
    	'c' :
                begin
            	     int := 12;
            	     str := 'asignacion en case chau'
        	end;
    end;


    if (((4 * int)= int1) and (str = str)) then
    begin
        int:= doble(int,int2);
        str := 'asignacion dentro de if'
    end;

    str := 'final';

    if true then
        int := 4
    else
	begin
		int2:= 2;
		int2:= int1 + 2
	end;


end.
